$(document).ready(function(){
    
    $('#estado').change(function(){ 
        $.get(URLBASE+'/'+CONTROL+'/cidades/',{ id: $('#estado').val() },function(data) {
            if(data.ok){ $('#cidade').html(data.html); } 
        }, 'json'); 
    });
    
    $('#estado,#cidade').change(function(){ 
        $('#form').submit();
    });
    
    setTimeout(getLocation(), 1000);
     
});


function getLocation()
{
    if(navigator.geolocation) navigator.geolocation.getCurrentPosition(showPosition);
    //else alert("O seu navegador não suporta Geolocalização.");
}
function showPosition(position)
{
    //alert(position.coords.latitude +' - '+position.coords.longitude);
    //http://maps.google.com/maps/api/geocode/json?address=-23.6027226,-46.7881327&sensor=false
    $.get('http://maps.google.com/maps/api/geocode/json',{ address: position.coords.latitude +','+position.coords.longitude, sensor:false },function(data) {
        var uf = data.results[0].address_components[5].short_name; 
        var cidade = data.results[0].address_components[4].short_name; 
        
        if($("#estado").val() <= ''){
            $("#estado").each(function () { 
                $('option', this).each(function () {
                    if ($(this).text() == uf) {
                        $(this).attr('selected', 'selected');
                        $("#estado").change();
                    }
                });
            });
        }
        
        if($("#cidade").val() <= ''){
            setTimeout( function(){
                 $("#cidade").each(function () { 
                    $('option', this).each(function () {
                        if ($(this).text() == cidade) {
                            $(this).attr('selected', 'selected');
                            $("#cidade").change();
                        }
                    });
                });
            }, 1000);
        }

    }, 'json'); 
    
}



